int called;

void first_call()
{
	called = 1;
}

void third_call()
{
	ASSERT(!called);
}

void second_call()
{
	ASSERT(!called);
	call_out( (: first_call :), 0);
	remove_call_out();
call_out( (: third_call :), 1);
}

void do_tests()
{
	called = 0;
	call_out("first_call", 0);
	call_out("second_call", 1);
	ASSERT(remove_call_out("first_call") != -1);
	ASSERT(remove_call_out("foo") == -1);
}
